看了底下很多朋友的回覆,我也來補充一下我的想法。
我覺得可以以團隊當單位跟例子來看,例如:原本可能是2個前端、2個後端,各自專精各自的部分。
如果可以的話,變成2個全端(前後端工作都能做,不一定要都很專精),另1個專精前端,另一個專精後端。
最後就是「這是一個全端,也就是 cross-function team」,裡面每個人有自己專精的領域,並跟團隊其他成員互補,但同時只要是產品需要做的事,大家都願意做、願意學、互相 cover, value-first。
每個人仍然有喜歡、不喜歡,專精/不擅長的領域。
但是以產品、價值為優先序。
產品團隊這樣在一起互相學習與支援,榮辱與共,慢慢組織才有機會變成學習型組織,一起打仗的團隊也才會有革命情感,也可以避免產品交付出現問題時的爭功諉過或責任歸屬。
其實這並沒有大家想像中的遙遠或困難。我們親身經歷過不少這樣的團隊,也在企業客戶那邊帶過不少這樣的團隊,甚至團隊內還有 designer 的人員,除了 design/切版,他們還可以 cover 一點js 跟測試。當然,也會跟 PO 合作,分擔 PO 的一些工作。
這也是為什麼,鈦坦的工程師是用 Product developer, PD 來稱呼,而不是 F2E 或後端工程師, developer/tester來稱呼。
順帶一提,這跟 pair programming 引入的思路有一點點類似。
原本是2個人各自領一個 task, 轉換成 2個人一起領2個 task. 在 ownership 上、設計盲點、團隊學習、成員備援,都會發揮很好的效果。
慢慢得更像一個 Co-work的 team,而不是只有分工、沒有合作的 group。